package unit6.part4;

import java.util.LinkedList;
import java.util.List;

class QueueCaller {
    List<String> queue = new LinkedList<>();// 有序队列
    // 想一想
    // 能否使用 ArrayList
    // 能否使用 数组

    void fetchNumber(String name) {// 患者取号
        System.out.println(name + " 取号成功，在您前面还有" + queue.size() + "位在等候就诊");
        queue.add(name);
    }

    void showTop3Patients() {// 显示前3个候诊患者
        for (int i = 0; i < queue.size() && i < 3; i++) {
            String name = queue.get(i);
            System.out.println(name + "候诊中");
        }
    }

    boolean callNumber() {// 叫号
        if (queue.isEmpty()) {
            return false;
        }
        String firstName = queue.get(0);
        System.out.println("请 " + firstName + " 到诊室就诊");
        queue.remove(0);
        return true;
    }
}
